Motorola's Programming Over Project 25
Tutorial Scripts
Programming Over Project 25, also known as “POP25”, allows for wireless radio programming which includes "over-the-air" Reading, Writing, and Cloning of "in-the-field" radios. Wireless programming is accomplished from a computer containing the CPS through a multitude of possible hardware communication scenarios, which ultimately transmit and / or receive codeplug data to these "in-the-field" radios.
POP25 is possible with two different CPS methods:
The first method allows for POP25 Reading, Writing, and Cloning to or from a single radio.
The second method allows for the “Batch Programming” of multiple radios. The "POP 25 Batch Programming" feature allows you to program desired in-the-field groups of radios at a desired date and time that is convenient to the CPS-user and the radio-users.
Note that the POP25 Keystone Concept Topic contains detailed Workflows and How-To’s for CPS-to-Radio over-the-air programming.
the Single Radio Method, and for the Batch Programming Method
To begin with, let’s consider that there are “Three POP25 communication Categories": the “In-The-Field System Equipment”, the “In-The-Field Radios”, and “The CPS’s Source Codeplug”.
In order for a successful POP25 Read, Write or Clone to occur within these three categories, there are certain mandatory requirements that must be met, or sometimes optional settings to be considered.
POP25 communication “Category Number 1: "In-The-Field System Equipment“. The one mandatory requirement of this category is that the in-the-field radio or radios must be within range of an in-the-field POP25-capable and data-capable Conventional System or Trunking System.
POP25 communication “Category Number 2: "In-The-Field Radios”. For all POP25 targeted radios, prior to going out in-the-field, there is one mandatory feature that must be CPS programmed, and then also several optional features to be considered for CPS programming:
The one mandatory item is to pre-program a Trunking System’s “POP25 Enable” field. This field must be enabled on the radio's programmed Trunking System that is intended to be in communication with the actual in-the-field Trunking System equipment.
Or... to pre-program a Conventional System’s “POP25 Enable” field for Conventional communications. Again as with Trunking POP25, this field must be enabled on the radio's designated Conventional System that will communicate with the POP25 in-the-field Conventional System equipment.
And now for the optional pre-programming includes three Data Wide, POP25 Page setting choices:
The "POP25 Reject Enable" field allows the in-the-field radio-user to reject a Write or a Clone.
The "POP25 Indications" field determines the method in which a radio-user is prompted of an impending Write or Clone; the choices are either an audio prompt, or both audio and visual prompts.
The "Auto Reset Enable" field has to do with automatically resetting certain radio models once the programming is complete.
One more optional settings to consider is on the Data Profile, Features Page, and that is the "POP25 Retransmission Timer" field.
And again, do remember that these five fields must be pre-programmed in a radio, prior to any POP25 targeted radios going out in-the-field.
POP25 communication “Category Number 3: "The CPS’s Source Codeplug” includes three mandatory features that must be programmed and / or considered prior to "over-the-air" Reading, Writing, or Cloning of "in-the-field" radios.
The first source codeplug mandate for Conventional POP25 is that the Conventional System’s “POP25 Enable” field must be enabled for the same in the field Conventional System that is to be used for the POP25 communications.
Or, that the first source codeplug mandate for Trunking POP25 is that the Trunking System’s “POP25 Enable” field must be enabled for the same in the field Trunking System that is to be used for the POP25 communications.
Additionally, for Trunking POP25 the General Page’s <pause> “System ID” <pause> set in this Trunking System <pause> must be a match for the in-the-field POP25-capable Trunking System equipment, <pause> and must also be a match for an in-the-field POP25 targeted radio’s internally-programmed POP25 Trunking System.
The second source codeplug mandate is that an Advanced Trunking Key, or an Advanced Conventional Key, with POP25 capability, must be currently loaded in the CPS. This can be confirmed in the System Key Report.
The third and final source codeplug mandate for both Conventional and Trunking POP25 is that, from the CPS Ribbon bar, under the Device Tab, the appropriate Communication Method field must be set as "POP25"<pause> in order for POP25 communications to occur.
Reading, Writing, or Cloning a Single in-the-field
Radio 
The POP25 Access Radio Window allows for wireless CPS-to-radio communications, which includes Reading, Writing, and Cloning of a single "in-the-field" radio. This is accomplished by proceeding with one of two different methods based on having the targeted radio's IP Address, or needing to first get the targeted Radio's IP Address.
Note that, whether the IP Address is known and therefore entered in the CPS, or the IP Address is retrieved during the Programming Over Project 25 process, the correct IP Address of a radio is always needed in order to accomplish this wireless communication. Therefore, once the “Mandatory Requirements” and / or “Optional Settings” detailed in Segment 2 of this tutorial are complete, then proceed on with a Read, a Write, or a Clone of a targeted "in-the-field" radio.
In our first of two scenarios, let’s choose to “Write” the in-the-field radio. As you can see you are immediately prompted with the "POP25 Access Radio" Window. Now, let’s assume that we have the targeted radio’s IP Address; therefore, let’s disable the “Get Radio IP Address From The ARS Server" field. Note that due to the IP Address not needing to be retrieved, the number of field entries has been reduced in this Window.
Continue by entering the targeted in-the-field “Radio’s IP Address”, and then define the “CPS Session Inactivity Timer”. Now start the programming event by clicking the “Access Radio” Button. That’s it ! If communications are successful the radio is programmed through POP25 communications.
In our second of these two scenarios, let’s again choose to “Write” to another in-the-field radio. However, this time from the "POP25 Access Radio" Window, let’s assume that we do not know the IP address of the targeted radio. Therefore, in this case we will have to attempt to obtain the radio’s IP Address with the assistance of the Automatic Registration Service Server.
In this approach, let’s begin by entering the ARS Server IP Address. Now enter an appropriate "Timeout Time for the ARS Server". And now enter the in-the-field radio’s "Radio ID". And then click to select the “Get IP Only” button.
If the communication is successful, the targeted radio’s IP Address then appears in the "Received Radio IP Address" field. You are now ready to proceed with wirelessly Writing to the in-the-field radio.
If need be first adjust the "CPS Session Inactivity Timer", then start the programming event by clicking the Access Radio Button. And once again, that’s it ! If communications are successful the radio is programmed.
Batch Programming Multiple in the field Radios

The Batch Programming feature allows you to set-up a future wireless programming of single or multiple "in-the-field" radios at a desired date and time that is convenient to the CPS-user and the radio-users.
The First Element of Batch Programming is to create a Batch Programming Radio List utility.
To begin building a Radio List, from the CPS Ribbon bar, select "Tools", and then select "Create Batch Programming Radio List".
When using the Radio List Utility be sure to note the following:
Note that at any time you can “Save” the current List, or "Save As" to create a list with a new name. Also, at any time you can load a previously created Radio List.
Also note that each radio listed in the List must have either an in-the-field radio’s Radio ID, or the radio’s IP Address, or both the Radio ID and the radio’s IP Address.
And finally note that the correct IP Address of a radio is always needed in order to accomplish this wireless communication. Consequently, if you do not have a radio’s IP Address, the Batch Programming tool automatically attempts to retrieve the IP Address during the Programming Over Project 25 event.
Once your list is fully defined, Save the List to an appropriate location with an appropriate name.
The Second Element of Batch Programming is to define the actual programming event. Again from the CPS Ribbon bar’s "Tools" Tab, now select "Open Batch Programming Scheduler".
There are a few things to do and a few decisions to make when using this POP25 Batch Scheduler utility:
Starting from the top, but not necessarily in this order, define the desired Date and Time for the programming event.
Moving down, if the desired Radio List is not currently loaded, click the "Browse" button to load the appropriate list.
You must also select which radios in the currently loaded Radio List will be programmed. This is accomplished by adding one radio at a time, or by adding all radios, and then possibly even removing certain radios from the Selected Radios List.
As you can see within this Selected Radio list, certain radio entries do not have an IP Address, therefore to successfully program these radios, you must first connect to the Automatic Registration Service Server, also known as the ARS Server, to retrieve these needed IP Addresses. Consequently in this case, you must enter the ARS Server’s IP Address.
Further down on the screen, the "Number of Retries for Failed Radios" setting determines how many times the CPS will attempt to program each of these targeted in-the-field radios. Note that programming occurs to one radio at a time.
Note that you can also enable this "Write Protect" selection if you desire to also Write Protect any un-Write Protected radios. Write Protection can occur while simultaneously updating codeplug programming. For more information on Write Protection, be sure to also see the Online Help System’s “Write Protect Rules and Conditions” topic.
And finally, click the "Start" button to set the Batch Programming event in motion.
The Third Element of Batch Programming is the actual launch of the programming session. The programming session launch automatically occurs once the Scheduler Window’s selected future Date and Time occurs, and then the POP25 Batch Programming “Progress” Window appears. This Batch Programming Progress Window runs on its own from beginning to end.
In the Results window for instance, you may watch the IP Address being retrieve from ARS Servers, and you may also watch details of individual radio’s being written. Just above you can see individual radio programming retries counting down, and just above that you can see the progress bar for overall progress versus individual radio progress.
The highlighted radio in the "Radio List" window will indicate the current radio being programmed, and whether a radio’s program has been a “Success”, or has “Failed”. And finally, once the programming session is complete, you may choose to "Save the Results to a File" for archiving purposes.
For more information on POP25, be sure to see the POP25 Keystone Concept topic.